using System.ComponentModel;

namespace DataAnalyticsTools.Models
{
    /// <summary>
    /// 时间序列异常检测方法枚举
    /// </summary>
    public enum AnomalyDetectionMethod
    {
        /// <summary>
        /// Z-Score 标准分数法
        /// 基于均值和标准差，适用于近似正态分布的数据
        /// 公式: Z = (x - mean) / std
        /// 阈值: 通常使用2.5或3
        /// </summary>
        [Description("Z-Score标准分数法，适合正态分布数据")]
        ZScore,

        /// <summary>
        /// IQR 四分位距法
        /// 基于箱线图原理，使用Q1、Q3和IQR识别异常值
        /// 异常值定义: x < Q1 - 1.5*IQR 或 x > Q3 + 1.5*IQR
        /// 优点: 对偏态分布和异常值稳健
        /// </summary>
        [Description("IQR四分位距法，适合有偏分布数据")]
        IQR,

        /// <summary>
        /// MAD 中位数绝对偏差法
        /// 基于中位数的稳健统计方法，对极端异常值不敏感
        /// 公式: Modified Z-score = 0.6745 * |x - median| / MAD
        /// 适用: 包含大量异常值的数据
        /// </summary>
        [Description("MAD中位数绝对偏差法，最稳健的方法")]
        MAD
    }
}
